# Preliminary Ideas

These ideas need more thought, but have strong potential.  

---
## Partially Formed Ideas

### Abstract container system recipe
- High layer defines dependencies recipe
- Abstraction layer allows declaring recipes in guix, ansible, docker, jails
- Environment layer targets PC/Laptops, single board chips, hosted or "cloud"
- Minimum: Implement at least two environments
- High layer could conform to an existing recipe language, such as guix

### awesome-dormant
- Create a list of dormant or stale projects. eg, [blag](https://pagure.io/blag)
- Add some constraints to make this less vague and less subjective.

### Citation generator
- Minimum: MLA, APA citation generator  
- Style variations, such as Sociology APA.  
- Chicago style.  
- GUI, so probably a web form  

#### Related projects
Other projects use combinations of mulitple languages, have mulitple library dependencies, or remain partially implemented. Some projects can scrape websites.  
- https://github.com/phpforfree/citationbuilder
- https://github.com/AlexanderSelzer/Citation.js


### Desktop Environment and General System Camouflages
- DE or system camouflages in general
- on-the-fly camo swap
- Secondary benefit would make it so users could have a familiar UX from the cloned UI.

#### Target themes
- OSX/Aqua theme
- Windows NT theme
- Windows cmd theme for terminal

#### Existing Projects
##### OSX/Aqua
- http://www.linuxandubuntu.com/installing-themes-in-linux.html
- http://www.linuxandubuntu.com/linux-themes/make-linux-look-like-osx-with-osx-arc-collection
##### Windows Camouflage from Tails
- https://tails.boum.org/news/version_2.0/index.en.html
- https://labs.riseup.net/code/issues/10830
- https://tails.boum.org/news/windows_camouflage_jessie/index.en.html


### Encryption black box for Android
- Required encryption options: ECC, Symmetric-key
- Reusable; other applications can call it via Android Intent
- Has a recipe to build it via the command line
- Uses a non-copyleft, free license. Dual license okay.

### fediverse fe
- Implement a general front end for use with an existing fediverse instance.
- Must work with a vanilla gnusocial installation.
- A sysadmin could install it to a subdomain on their web server to provide an alternate client UI.
- [pleroma-fe](https://git.pleroma.social/pleroma/pleroma-fe)
exists, but it [requires qvitter for gnusocial](https://git.pleroma.social/pleroma/pleroma-fe/wikis/dual-boot-with-qvitter).
- This could also have a thin client such as twidere for android, but for use on a desktop browser.

### Massive sprite art generator
- Software generates 16-bit video game graphics from input photo or illustration
- Parodies, clones, video game art
- Could use AI to create instances that grow different stylistic versions from the same inputs

### Social media layer for Archive.org
- Develop an android app or website interface for archive.org that makes the UX as easy as browsing or sharing on youtube
- Upload media: Movies, photos/pictures, music
- Specify attribution and license

### Social media scraper
- Write a bash script that scrapes proprietary social media to generate some reusable output.
- The facebook use case: As a blogger I don't know anything about programming, I want to update my website with posts from other people's facebook pages without the need to use a facebook account or the facebook API. 
- Input a user/organization page link
- Isolate the pattern/algorithm so if it changes, easy to know where to update the script
- Output options, at least as json blob
- Include another standalone script (either js or sh on a cron) to boilerplate generation of a webpage

### Video game achievements
- Write a program to share score/feet/achievements for games
- Possibility: Some condition in the game triggers a screenshot and posts the image to some blog
- Libre version of Steam or RetroAchievements, particularly free of region restrictions
- Target: Works with any game or emulator
- Minimum: Triggers for at least one game.
- Nice to haves: integration with mumble, video stream, or chat

### vpncats, a VPN via steganography
- put everything (the encrypted traffic) in silly cat photos as stegs that we "download" or "upload" to sites. So then everything looks like it's an unencrypted request/response.
- credit goes to loop for the name https://freepo.st/post/oaqc823pan#comment-di2xfsdrnz
- work in progress by painy shttps://notabug.org/painy/vpncats

---
## Lesser Formed Ideas

One of the original [discussions happened on freepo.st](https://freepo.st/post/iambk9eh5x).  

1. Find module of snowdrift to help the libre payment program
1. Use a graph db. Perhaps store libre music playlists.
1. Libre stickers, for example instead of emoji messages. https://freepo.st/post/iambk9eh5x#comment-pbc5tpi6o7
1. Contribute to cyclone: https://github.com/justinethier/cyclone/
